package javaCode.chapter12.bignum_;

import java.math.BigDecimal;

/**
 * @author 徐州城
 * @version 1.0
 */
public class BigDecimal_ {
    public static void main(String[] args) {
        //当我们需要保存一个精度很高的数时，double 不够用
        //可以用 BigDecimal
//        double d = 1.1111111111111111111111111111111D;
//        System.out.println(d);

        BigDecimal big1 = new BigDecimal("100.1111111111111111111111111111111");
        System.out.println(big1);

        //解读
        //1. 如果对 BigDecimal进行运算，比如加减乘除，需要使用对应的方法
        //2. 创建一个需要操作的 BigDecimal 然后调用相应的方法即可
        System.out.println(big1.add(new BigDecimal("1.3"))); //加
        System.out.println(big1.subtract(new BigDecimal("1.3"))); //减
        System.out.println(big1.multiply(new BigDecimal("1.3"))); //乘
        //System.out.println(big1.divide(new BigDecimal("1"))); //可能抛出异常 ArithmeticException
        //在调用divide 方法时，指定精度即可. BigDecimal.ROUND_CEILING
        System.out.println(big1.divide(new BigDecimal("3"),BigDecimal.ROUND_CEILING));
    }
}
